1. Technical Field
This invention relates to the field of computer user interface systems and more particularly to a system for minimizing or eliminating the display area required for scroll bars in a graphical windows user interface environment.
2. Description of the Related Art
Graphical user interfaces for computers have become widely used and accepted in recent years, particularly those systems which permit a single display device to present information in two or more discrete areas on a single screen. These discrete areas, often referred to as "windows" can be used to present information to a user in the form of text, drawings, and the like. For convenience, the information presented in a particular window shall herein be referred to as a "work object", since it is generally displayed to a user so that a particular action can be performed with respect thereto, such as reading, entering data, or manipulating the content of such window. For the purpose of implementing a graphical user interface, it has become common to provide means by which a user can point to objects on screen by moving a displayed pointer cursor so that it is positioned over a particular graphical user interface element, and causing the computer system to respond in some manner associated with that particular user interface element. Movement of the cursor can be accomplished by means of physical manipulation of a pointer device, such as a mouse, joystick or a keyboard's direction control keys. Pointer control signals can be provided by, for example, clicking on a mouse signaling button, striking a key, and the like. Various methods and systems are available for implementing such graphical user interface systems as is well known to computer programmers in this field.
In the past, the number of interactive windows which could practically be displayed to a user on a display device was severely limited by considerations such as computer processing speed, available memory, and operating system architecture. In recent years, however, computers and their operating systems have become considerably more advanced, with the result that it is now possible to have a great many individual windows which may appear on the screen area. As a result, the available area for displaying windows on a screen will often be insufficient and must be carefully managed. In this regard, various systems have been implemented to permit windows to be stacked, one on top of the other, or to be moved and re-sized, so that a user has maximum flexibility in making best use of the available screen area. However, such display area management often creates problems of its own. For example, when a window's area is reduced, the information contained therein is generally not re-sized to fit the window, as this would create obvious difficulties for the user who needs to observe such information. Instead, scrolling systems are generally provided which permit the work object contained within a window to be moved with respect to its apparent position within the window. Thus, for example, if a window is sized such that only a bottom-left portion of the work object contained therein can be observed by a user, the scroll bar controls associated with such window can be manipulated so that the upper-right portion of the document appears within the window. Scroll controls are commonly provided adjacent to a vertical and horizontal boundary area defining the limits of available area of a window where a work object can be displayed. Scrolling controls typically are provided for permitting the apparent position of the work object to be moved vertically (along a y coordinate direction) or horizontally (along an x coordinate direction) within the window. In this regard, it is said that the "apparent" position of the work object is moved because the window in fact acts as a viewer of the electronically stored work object, and it is perhaps more accurate to say that it is the viewpoint of the window which is changed.
The scroll bars for each window are typically displayed within the display area of the window. Other systems have also been proposed wherein the scroll operation is implemented as a secondary display and control window on the face of the computer display. Examples of such scroll bar systems are disclosed in various references including U.S. Pat. No. 5,485,174 to Henshaw et al. Significantly, however, while such systems are adequate for the purpose of repositioning the viewpoint of a window, they present a further problem in that they occupy valuable viewing area which is more desirably used to represent one or more work objects to a user. Where multiple windows are presented on a computer display, each window containing a work object which exceeds the relative size of the window is provided with a set of scroll bars, thereby multiplying the amount of wasted screen area which can be better used for display of a work object. Further, such systems suffer from the fact that they require careful attention from a user when they are to be used. Scroll mechanisms of the prior art typically require very accurate positioning of a cursor over a discrete portion of the scroll bar to effect repositioning of the window viewpoint. For example, arrow "buttons" are sometimes integrated at relatively small end portions of a scroll bar to designate a portion of the bar which must be actuated in order to cause the window viewpoint to be altered, as in Henshaw et al. Positioning a cursor in the proper area and maintaining it there during the scrolling process can be a physically demanding task, particularly on small display screens, due to the tendency of slight pointer device movements to cause the cursor to shift off the arrow buttons.
Finally, in computer systems configured for certain types of uses, scroll bars may be almost entirely superfluous. For example, great progress has been made in computer speech recognition systems to the end that computers may now be controlled almost entirely by voice command. In such systems, scrolling commands may be implemented primarily by speech commands rather than pointer movement and control signals, e.g., mouse movement and clicking. Thus, while there may remain some need for a pointer actuated scroll control, such controls would rarely be used and it would be desirable to minimize or eliminate the portion of any screen display devoted to such functions. Ideally, this would leave more room for display of work objects and windows having greater relevance and usefulness to a user. It would also be desirable to reduce screen clutter in a way which results in a simplified screen display.